package com.tbit.uqbike.webmanager.business.machine_op_log.aspect;

import java.util.ArrayList;
import java.util.List;

/**
 * 因为车辆操作日志的内容格式可能千奇百怪，通过注解定义拓展性较差
 * 所以通过一个ThreadLocal来储存内容上下文，哪里用到哪里存，使用起来so easy
 * list中的每一个元素代表一行详情
 * 切面{@link MachineOpLogAspect}会在插入日志后自动清除这个ThreadLocal
 *
 * @author <a href="mailto:zheng.zebiao@tbit.com.cn">zb</a>
 * @since 2024/11/19
 * @see MachineOpLogAspect
 */
public class MachineOpLogDetailHolder {
    private static final ThreadLocal<List<String>> detail = ThreadLocal.withInitial(ArrayList::new);

    public static List<String> get() {
        return detail.get();
    }

    public static void remove() {
        detail.remove();
    }
}
